Qt4.8文档翻译:QTableView类参考,QTableView Class Reference
QTableView类提供了表格视图的默认模型/视图实现。
QTableView实现的是一个表格视图,显示某个模型中的数据条目。这个类是用来替代之前的QTable类的,用来提供标准的表格,不过跟之前那个类相比,采用Qt 的模型/视图架构做出了一个更灵活的实现。
QTableView类是模型/视图类中的一个,同时也是Qt 的模型/视图框架的组成部分。
QTableView实现了由QAbstractItemView类定义的那些接口,这样它就可以显示那些继承了QAbstractItemModel类的模型所提供的数据了。
可通过鼠标点击或者方向键来在表格的各个单元格之间导航。由于QTableView 默认启用了tabKeyNavigation,所以妳可以使用Tab 键及反Tab键(Backtab)来在单元格间移动。
表格拥有一个竖向的表头,可通过verticalHeader()函数来访问,以及一个横向的表头,可通过horizontalHeader()函数来访问。可使用rowHeight()来获取到表格中每一行的高度;同理,可使用columnWidth()来获取到表格中每一列的宽度。由于这两个都是一般的部件,所以你可以使用hide()函数来隐藏它们。
可使用hideRow()、hideColumn()、showRow()和showColumn()来隐藏或显示各个行或列。可使用selectRow()和selectColumn()来选中行和列。表格会根据showGrid属性的值来显示网格。
表格视图中显示的数据条目就跟其它条目视图中显示的东西一样,是使用标准的代理(delegates)来渲染及编辑的。然而,在某些情况下,可能需要向表格中插入别的部件(widgets)。可使用setIndexWidget()函数来为特定的索引设置部件,日后可使用indexWidget()来获取那些部件。
|
默认情况下,表格中的单元格不会自动扩张以填满可用空间。 妳可以通过拉伸最后一个表头区域来使得单元格填满所有可用空间。使用horizontalHeader()或verticalHeader()来获取到对应的表头,然后设置该表头的stretchLastSection属性。 要想按需分配可用空间的话,就调用视图的resizeColumnsToContents()或resizeRowsToContents()函数。 |
对于某些特殊形式的表格,需要在行、列号与部件坐标之间转换。rowAt()函数可根据单元格在视图中的y坐标来确定一行;还可通过rowViewportPosition()来使用一个行号获取其对应的y坐标。columnAt()和columnViewportPosition()函数提供了类似的功能,可在x坐标与列号之间转换。
QTableView在不同平台上是按照适当的不同样式来呈现的。以下图片就是它在不同平台上的外观。访问Qt部件图片展以观摩一下它在其它风格中的外观。
|
|
一个苹果机风格的表格视图。 |
参考QTableWidget、视图类、QAbstractItemModel、QAbstractItemView、报表示例、像素化 (Pixelator)示例和表格模型示例。
根据用来渲染此列中各个数据条目的代理对象的尺寸建议来改变列号为column的这一列的宽度。
注意:只有那些可见的列才会被调整宽度。要想对不可见的列也调整宽度的话,重载sizeHintForColumn()。
根据用来渲染此行中各个数据条目的代理对象的尺寸建议来改变行号为 row 的这一行的高度。
如果当前的SelectionMode和SelectionBehavior允许选中一行的话,选中表格中行号为row的行。
参考selectColumn()。
如果hide为真(true),则行号为row的行会被隐藏,否则会被显示。
参考isRowHidden()和setColumnHidden()。
Your opinionsHxLauncher: Launch Android applications by voice commands